#include <iostream>
#include <vector>
using namespace std;
 
int main() // Day33_1_dp或找规律
{
    int sum = 0, n = 0;
    cin >> n;
    // n = 20; // 打表
    vector<int> dp(n + 1, 1);
    // dp[i]表示跳到第i级台阶有多少种跳法
    for(int i = 2; i <= n; ++i)
    {
        for(int j = 1; j < i; ++j)
        {
            dp[i] += dp[j]; // !!!!!!!!!
        }
    }
 
    // for(int i = 1; i < n; ++i) // 打表或者找规律：2^(n - 1)
    // {
    //     cout << dp[i] << endl;
    // }
    cout << dp[n];
    return 0;
}
 
/*
O（1）时间：
1
2
4
8
16
32
64
128
256
512
1024
2048
4096
8192
16384
32768
65536
131072
262144
524288
*/